package com.zzl.bonds.ticket.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 开立申请表
 *
 * @author sunpp
 * @date 2022-02-16 14:04:05
 */
@Data
@ApidocModel
@SuppressWarnings("javadoc")
public class TickeopenUpdateDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApidocModelProperty(description = "主键 uuid/ 业务流水号", example = "")
    private String id;
    @ApidocModelProperty(description = "开票方id", example = "")
    private String openEnterpriseId;
    @ApidocModelProperty(description = "开票方企业名称", example = "")
    private String openEnterpriseName;
    @ApidocModelProperty(description = "开票方对公账户", example = "")
    private String openDepositBank;
    @ApidocModelProperty(description = "开票方方银行账号id", example = "")
    private Integer openBankId;
    @ApidocModelProperty(description = "开票方开户网点", example = "")
    private String openPaymentAccount;
    @ApidocModelProperty(description = "开票方统一社会信用代码", example = "")
    private String openSocialCreditCode;
    @ApidocModelProperty(description = "开单类型", example = "")
    private Integer openTicketType;
    @ApidocModelProperty(description = "授信id", example = "")
    private Integer institutyCreditId;
    @ApidocModelProperty(description = "票据金额", example = "")
    private Double ticketAmount;
    @ApidocModelProperty(description = "票据编号", example = "")
    private String ticketNo;
    @ApidocModelProperty(description = "是否担保 ，1：担保，0 不担保", example = "")
    private Integer isGuarantee;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "开单日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date invoiceTime;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "到期日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date cashTime;
    @ApidocModelProperty(description = "交易合同号", example = "")
    private String contractNo;
    @ApidocModelProperty(description = "应收账款金额", example = "")
    private Double receivableAmount;
    @ApidocModelProperty(description = "发票信息", example = "")
    private String invoiceInfo;
    @ApidocModelProperty(description = "签收方id", example = "")
    private String receiveEnterpriseId;
    @ApidocModelProperty(description = "签收方企业名称", example = "")
    private String receiveEnterpriseName;
    @ApidocModelProperty(description = "签收方方统一社会信用代码", example = "")
    private String receiveSocialCreditCode;
    @ApidocModelProperty(description = "签收方对公账户", example = "")
    private String receiveDepositBank;
    @ApidocModelProperty(description = "签收方银行账号id", example = "")
    private Integer receiveBankId;
    @ApidocModelProperty(description = "签收方开户网点", example = "")
    private String receivePaymentAccount;
    @ApidocModelProperty(description = "数据来源 1：自建", example = "")
    private Integer sourceType;
    @ApidocModelProperty(description = "票据状态 1：开单待复核 2、开单已复核 3、供应商待签收 4、供应商已签收 5、供应商已复核", example = "")
    private Integer ticketStatus;
    @ApidocModelProperty(description = "审批状态 10：核心企业通过 11、核心企业驳回 20、平台通过 21、平台驳回 30、供应商通过、31 供应商驳回", example = "")
    private Integer approveStatus;
    @ApidocModelProperty(description = "开票方复核备注", example = "")
    private String openCheckRemark;
    @ApidocModelProperty(description = "平台复核备注", example = "")
    private String platformCheckRemark;
    @ApidocModelProperty(description = "供应商复核备注", example = "")
    private String supplierCheckRemark;
    @ApidocModelProperty(description = "0 未预兑付 1 进入预兑付。描述：当开立申请单进入预兑付时更改状态。", example = "")
    private Integer advancePaymentStatus;
    @ApidocModelProperty(description = "企业id,权限使用", example = "")
    private String enterpriseId;
    @ApidocModelProperty(description = "部门id", example = "")
    private Integer orgId;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "创建时间", validate = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "修改时间", validate = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    @ApidocModelProperty(description = "创建人", example = "")
    private Integer creatorId;

}
